package com.app.service;

import com.app.common.Result;
import com.app.model.*;
import com.app.vo.ConsumptionOrderVo;
import com.app.vo.ConsumptionVoucherVo;
import com.app.vo.UserVo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * <p>
 * 消费多少送多少订单记录 服务类
 * </p>
 *
 * @author yoominic
 * @since 2024-07-21
 */
public interface IConsumptionOrderService extends IService<ConsumptionOrder> {


    @Transactional
    Result reservationConsumptionOrder(ConsumptionOrder consumptionOrder, UserModel userModel);

    ConsumptionOrderVo queryConsumptionOrderList(Integer page, Integer limit,Integer userId,Integer status);

    @Transactional
    Result writeOffConsumptionOrder(ConsumptionOrder consumptionOrder,String phone);


    Result commentConsumptionOrder(ConsumptionOrder consumptionOrder);

    @Transactional
    Result writeOffConsumptionOrderVoucher(ConsumptionVoucher consumptionOrder,UserModel user);


    Result handleShareConsumerCoupon(ConsumptionVoucher consumptionOrder, UserModel userModel);

    ConsumptionVoucherVo queryMyConsumptionVoucher(Integer page, Integer limit,Integer userId,String status);

    Result getClassificationConfig();

    Result queryWebConsumptionOrderList(Integer page,Integer limit, String beginTime, String endTim,String status);

    Result queryWebConsumptionOrderVoucherListById(String id);

    Result getBusinessInfoBycode(String code);

    Result queryWebConsumptionDivideConfig( Integer page, Integer limit,String businessName);

    Result saveWebConsumptionDivideConfig(ConsumptionDivideConfig config, AdminUserModel userModel);

    Result getWebConsumptionDivideConfigById(Integer id);

}
